package edu.tms.dao;

import java.util.List;
import java.util.Map;

import edu.tms.bean.AuditLog;
import edu.tms.crud.JdbcUtil;
import edu.tms.dao.common.CommnonDao;

/**
 * 审核记录dao
 * @author Administrator
 *
 */
@SuppressWarnings("rawtypes")
public class AuditLogDaoImp implements CommnonDao{
	/**
	 * 保存内容
	 * 返回该条记录的自增长值（id）
	 * @param value
	 * @throws Exception
	 */
	@Override
	public long save(Object value) throws Exception {
		String sql="insert into t_audit_log value(null,?,?,?);";
		if(value instanceof AuditLog){
			AuditLog audit=(AuditLog)value;
			long num=JdbcUtil.insertAuto(sql,audit.getAuditId(),audit.getAuditorId(),audit.getCreateTime());
			return num;
		}else return 0;
	}
	/**
	 * 修改内容
	 * @param value
	 * @throws Exception
	 */
	@Override
	public int update(Object value) throws Exception {
		return 0;
	}
	/**
	 * 删除内容
	 * 相关联的表：提交人？
	 * 学生表t_student，教师表t_teacher，
	 * 管理员表t_admin，
	 * @param value
	 * @throws Exception
	 */
	@Override
	public int delete(Object value) throws Exception {
		String sql="delete from t_audit_log where audit_log_id=?;";
		int num=JdbcUtil.update(sql,value);
		return num;
	}
	/**
	 * 查找所有的内容
	 * 相关联的表：提交人？
	 * 学生表t_student，教师表t_teacher，
	 * 管理员表t_admin，
	 * @param pageNo 第几页
	 * @param pageSize 每页数字
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<AuditLog> findAll(int pageNo, int pageSize) throws Exception {
		String sql="select audit_log_id,audit_id,role_name,create_time"
				+ " from t_audit_log"
				+ " left join t_role on t_role.role_id=t_audit_log.audit_log_id"
				+ " limit ?,?;";
		List<AuditLog> audit=JdbcUtil.query(AuditLog.class,sql,(pageNo-1)*pageSize,pageSize);
		return audit;
	}
	/**
	 * 查找单一实体
	 * 相关联的表：提交人？
	 * 学生表t_student，教师表t_teacher，
	 * 管理员表t_admin，
	 * @param Key
	 * @throws Exception
	 */
	@Override
	public AuditLog findByKey(Object Key) throws Exception {
		// TODO Auto-generated method stub
		return null;
	}
	/**
	 * String 对应  数据库 列名（comment)
	 * Object 对应相应列名值
	 * 返回的是所查找的类中的数据。方便EXCEL导出
	 */
	@Override
	public List<Map<String,Object>> getMapList() throws Exception {
		// TODO Auto-generated method stub
		return null;
	}
	@Override
	public List<AuditLog> findAll(Object key, int pageNo, int pageSize) throws Exception {
		String sql="select audit_log_id,audit_id,role_name,create_time"
				+ " from t_audit_log"
				+ " left join t_role on t_role.role_id=t_audit_log.audit_log_id"
				+ " where audit_log_id=?"
				+ " limit ?,?;";
		@SuppressWarnings("unchecked")
		List<AuditLog> audit=JdbcUtil.query(AuditLog.class,sql,key,(pageNo-1)*pageSize,pageSize);
		return audit;
	}

}

